Introduction
Get an overview of the contents and understand the structure of this section.
We'll cover the following
As DevOps engineers, we often work as part of a team of engineers that help manage a network, service infrastructure, and public-facing services. This means there are a lot of moving parts and communication that needs to occur, especially in an emergency.
ChatOps provides teams with a central interface to tooling to ask questions about current states and to interact with other DevOps tools while recording those interactions for posterity. This can improve feedback loops and real-time communication between teams and help manage incidents effectively.
Sarah Murphy has a saying: “Don't talk to the bus driver.” As a release engineer for Facebook in the early days, she was responsible for releasing Facebook across their data centers. This was a high-stress and detail-oriented job that required her complete attention. Many of the engineers wanted to know if their feature or patch was being included in the current release and, of course, asked the release engineer.
As any engineer who does high-impact rollouts will tell us, we need to focus. Having hundreds of engineers ping us about the status of their particular patch is not ideal. This is where ChatOps comes into play. Instrumenting ChatOps can allow a central place where questions about rollout status and what revision is in a release can stave off those hundreds of questions.
In this section, we will dive into how to build a ChatOps bot for Slack. We will show how we can use that bot to ask about the status of a service. We will show how we can use a bot to get deployment information. And finally, we will show how we can use the bot to deploy our software.
Technical requirements#
The following are the prerequisites for this section:
A Slack user account: Create a Slack user if you do not have one by following the instructions here on Slack's website.
A Slack workspace to experiment: Instructions for creating a Slack workspace can be found here on Slack's website.
Creation of a Slack application.
It is highly suggested that you use a workspace you control instead of using a corporate one. That process requires approval by admins for your corporate Slack.
We will also need to create a Slack application, but this is covered in a later section.
Structure#
The structure of this section is shown below:
Summary and Quiz on Automating Workflows With GitHub Actions
Environment Architecture